import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
from scipy.interpolate import make_interp_spline

plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

# 读取文件
df = pd.read_excel('C:/Users/dell/Desktop/重点研发2.8/轮胎成型/成型数据/2-胶部件规格/部件规格_相关性分析.xlsx')  # 将'filename.csv'更改为你的文件名

# 读取第十八列
column_18 = df.iloc[:,17]
# 计算两行差值
diff_1 = column_18.diff().dropna() / 5  # dropna去掉NaN值
diff_2 = diff_1.diff().dropna() / 5
# 创建x轴值
x1 = range(len(diff_1))
x2 = range(len(diff_2))
# 光滑曲线描绘
x1_smooth = np.linspace(min(x1), max(x1), 500)  # 光滑程度由500控制
x2_smooth = np.linspace(min(x2), max(x2), 500)  # 光滑程度由500控制
spl_1 = make_interp_spline(x1, diff_1, k=3)  # 三次样条插值
spl_2 = make_interp_spline(x2, diff_2, k=3)  # 三次样条插值
y1_smooth = spl_1(x1_smooth)
y2_smooth = spl_2(x2_smooth)
# 绘图
plt.figure()
plt.plot(x1_smooth, y1_smooth,label='冠带条张力一次差分图')

# 绘制y=0.5的参考线
plt.axhline(y=0.5, color='b', linestyle='--', label='y=0.5 参考线')
# 绘制y=-0.5的参考线
plt.axhline(y=-0.5, color='r', linestyle='--', label='y=-0.5 参考线')
plt.legend()
plt.figure()
plt.plot(x2_smooth, y2_smooth,label='冠带条张力二次差分图')
plt.legend()
# 绘制y=0.5的参考线
plt.axhline(y=0.5, color='b', linestyle='--', label='y=0.5 参考线')

# 绘制y=-0.5的参考线
plt.axhline(y=-0.5, color='r', linestyle='--', label='y=-0.5 参考线')
plt.legend()
plt.show()